﻿// UsersProfileCtrl
ctrls.controller('UsersProfileCtrl', function ($scope, $http, $routeParams, $location) {
    /* Định nghĩa biến toàn cục */
    $scope.data = {};
    $scope.strings = {};
    $scope.style = {};
    $scope.variable = {};
    // Gán giá trị init
    $scope.variable.InitFinish = true;
    /* Định nghĩa phương thức xử lý */
    // Xử lý lấy chuỗi resource
    $scope.getStrings = function () {
        $pc(function () {
            $scope.strings = {
                Title: $nm('ADM.USERS.PROFILE.Title'),
                Password: $nm('ADM.USERS.PROFILE.Password'),
                NewPassword: $nm('ADM.USERS.PROFILE.NewPassword'),
                ConfirmPassword: $nm('ADM.USERS.PROFILE.ConfirmPassword'),
                Save: $nm('ADM.USERS.PROFILE.Save'),
                Update: $nm('ADM.USERS.PROFILE.Update')
            };
        });
    };
    // Xử lý init
    $scope.init = function () {
        $pc({
            http: $http,
            url: '/ajx/adm/users/profile.aspx/InitLayout',
            data: {},
            success: function (data) {
                if (!$dataHelper.toBoolean(data.HasAuth)) {
                    window.location = '/adm/login.html';
                    return;
                }
                $scope.data = data;
            },
            error: function (err) {
                $scope.variable.InitFinish = false;
                $scope.alert = err;
            }
        });
    };
    // Xử lý save
    $scope.save = function () {
        $pc({
            http: $http,
            url: '/ajx/adm/users/profile.aspx/Save',
            data: function () {
                var data = {};
                // Gán dữ liệu cập nhật
                data.Password = $scope.data.Password;
                data.NewPassword = $scope.data.NewPassword;
                data.ConfirmPassword = $scope.data.ConfirmPassword;
                // Kết quả trả về
                return data;
            },
            validate: function (data) {
                return {
                    txtPassword: {
                        data: data.Password,
                        rules: ['required', 'password'],
                        messageParam: 'ADM.USERS.PROFILE.Password'
                    },
                    txtNewPassword: {
                        data: data.NewPassword,
                        rules: ['required', 'password'],
                        messageParam: 'ADM.USERS.PROFILE.NewPassword'
                    }
                };
            },
            success: function (data) {
                var info = { Show: true, Messages: data.Messages };
                $scope.alert = info;
                $scope.data.Password = '';
                $scope.data.NewPassword = '';
                $scope.data.ConfirmPassword = '';
            },
            error: function (err) {
                $scope.alert = err;
            }
        });
    };

    /* Định nghĩa các events */
    // Tiến hành lấy chuỗi resource
    $scope.getStrings();
    // Tiến hành xử lý init
    $scope.init();

    /* Đăng ký các events */
});